﻿using LJ.Host.Abstractions.DependencyInjection;
using LJ.Host.Abstractions.Reflection;
using Microsoft.Extensions.Configuration;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LJ.Host.Worker.Pack;


public class PackContext : IPackContext
{

    public PackContext(IServiceCollection serviceCollection, IConfiguration configuration)
    {
        ServiceCollection = serviceCollection;
        ConfigManager = new ConfigManager(serviceCollection, configuration);
        ReflectionManager = new ReflectionManager();
        DependencyManager = new DependencyManager(serviceCollection, ReflectionManager);
    }

    public IServiceCollection ServiceCollection { get; }

    public IConfigManager ConfigManager { get; }

    public IReflectionManager ReflectionManager { get; }

    public IDependencyManager DependencyManager { get; }
}